package com.hyperboost.service;

import com.hyperboost.dto.ShareDTO;
import com.hyperboost.dto.SharePageQueryDto;
import com.hyperboost.result.PageResult;
import com.hyperboost.result.Result;
import com.hyperboost.vo.ShareCommentReplyVO;
import com.hyperboost.vo.ShareVo;

import java.util.List;

public interface ShareService {
    /**
     * 添加分享
     *
     * @param shareDTO
     */
    void shareAdd(ShareDTO shareDTO);

    /**
     * 删除分享
     *
     * @param shareId
     */
    Result deleteShare(Long shareId);


    /**
     * 分页查询所有的分享
     *
     * @param sharePageQueryDto
     * @return PageResult<ShareVo>
     */
    PageResult<ShareVo> pageShare(SharePageQueryDto sharePageQueryDto);

    /**
     * 分页查询某个用户的分享
     *
     * @param sharePageQueryDto
     * @return PageResult<ShareVo>
     */
    PageResult<ShareVo> pageShareByUserId(SharePageQueryDto sharePageQueryDto);

    /**
     * 根据标签Id查询分享
     *
     * @param noticeId
     * @return
     */
    List<ShareVo> getShareByNoticeId(Long noticeId);

    /**
     * 根据分享Id查询分享详情
     *
     * @param shareId
     * @return
     */
    ShareVo getShareByShareId(Long shareId);


}
